Import Dataset
TBC = read.csv("TBC_2016.csv",header=TRUE,sep=";")
TBC = TBC[30:57]
TBC = TBC[,c(2,9,10,12,13,14,15,16,17)]
On applique les K-means:
TBC = as.data.frame(apply(TBC,2,FUN=function(x) replace(x,is.na(x),mean(x,na.rm=TRUE))))
groupes.kmeans <- kmeans(TBC,centers=3,nstart=3)
print(groupes.kmeans)
K-means clustering with 3 clusters of sizes 2345, 117, 788
Cluster means:
ANCIENNETE_16 MONTANT_CUMULE_16 NB_VISITE_16 NB_PRDT_MOY_VISITE_16 RECENCE_16 NB_MAG_DIFF_16 NB_LIGNE_DIFF_16 NB_FAM_DIFF_16 NB_CADEAUX_16
1 54.35288 476.2448 5.942431 3.332581 100.13092 1.809382 2.211940 6.484009 3.593603
2 57.24786 2587.1026 22.222222 4.950956 43.77778 2.649573 2.948718 11.717949 19.470085
3 57.62246 1139.0330 11.869289 4.167973 64.38198 2.239848 2.710660 9.652284 9.755076
Clustering vector:
1 10 11 88 209 219 243 308 339 458 472 498 552 572 657 724 760 848 902 912 947 964 983 1045
1 1 1 1 3 1 1 1 3 3 1 3 1 1 1 1 1 2 1 1 1 1 1 3
1072 1187 1197 1200 1238 1241 1310 1353 1363 1395 1421 1433 1504 1526 1530 1548 1556 1571 1577 1582 1623 1627 1664 1725
1 2 3 1 1 1 1 3 1 1 1 3 1 3 3 1 3 1 1 1 1 1 3 1
1730 1738 1772 1786 1801 1811 1824 1852 1861 1863 1865 1901 1906 1934 1939 1940 1950 2029 2046 2053 2098 2103 2134 2145
1 1 3 3 1 3 3 2 3 3 3 1 1 3 2 1 1 1 1 3 1 1 1 3
2165 2201 2232 2255 2262 2267 2271 2308 2318 2333 2338 2342 2351 2356 2382 2434 2448 2457 2468 2471 2473 2487 2491 2516
3 1 1 1 1 1 1 3 1 1 2 1 1 1 1 1 3 1 1 1 1 1 1 1
2545 2549 2555 2570 2571 2636 2664 2693 2694 2712 2726 2759 2800 2853 2877 2878 2891 2915 2993 3001 3002 3037 3052 3166
1 1 1 1 1 3 3 3 1 3 1 3 1 1 1 1 3 1 1 3 1 1 1 1
3192 3193 3201 3202 3239 3258 3352 3358 3402 3417 3516 3602 3615 3630 3669 3735 3767 3892 3977 3986 4035 4044 4069 4123
2 1 1 3 3 1 1 1 1 1 1 3 2 2 3 1 1 1 1 3 3 3 3 1
4137 4256 4272 4292 4312 4379 4403 4415 4419 4459 4473 4487 4546 4554 4571 4578 4579 4609 4613 4637 4644 4696 4783 4803
1 1 3 1 2 1 1 2 1 1 3 1 1 3 3 1 1 1 1 3 1 1 3 1
4868 4915 4924 4934 4956 4979 4983 4987 4996 5012 5018 5048 5055 5086 5093 5125 5174 5192 5231 5298 5300 5308 5310 5312
3 3 3 1 1 1 3 2 3 3 1 1 1 1 1 1 3 3 1 1 1 1 1 1
5389 5400 5418 5496 5525 5574 5620 5627 5634 5642 5651 5754 5818 5827 5833 5834 5873 5935 5951 5967 6004 6013 6047 6060
3 1 3 3 1 1 1 3 3 1 1 1 1 3 2 3 3 3 1 1 1 1 1 1
6078 6229 6232 6341 6359 6367 6373 6382 6385 6401 6467 6526 6533 6564 6691 6709 6794 6805 6811 6814 6827 6834 6909 7017
1 1 3 1 1 1 1 1 1 1 1 2 3 1 3 3 3 1 1 1 1 1 1 1
7051 7086 7215 7228 7239 7272 7300 7305 7339 7345 7349 7369 7402 7421 7433 7448 7457 7479 7511 7551 7562 7572 7603 7716
1 1 1 1 1 1 1 3 3 1 1 1 3 1 1 1 3 1 1 2 1 1 1 1
7727 7732 7744 7745 7771 7802 7810 7820 7840 7865 7902 7906 7916 7920 7936 7945 7952 7973 7974 7981 7998 8018 8065 8078
1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 2 3 1 1 3 1 3
8081 8087 8107 8168 8172 8186 8299 8365 8369 8382 8401 8422 8438 8464 8555 8561 8570 8609 8622 8624 8695 8722 8725 8777
1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 3 3 1 1 1 1 1 3 1
8795 8815 8858 8863 8898 8902 8911 8922 8924 8996 9009 9027 9063 9072 9108 9134 9143 9149 9163 9177 9210 9225 9252 9311
1 1 1 3 1 3 3 3 1 1 1 1 3 3 1 2 1 1 3 1 1 1 1 1
9365 9369 9397 9399 9400 9414 9420 9423 9443 9450 9452 9459 9462 9467 9509 9549 9574 9576 9578 9594 9680 9697 9715 9736
1 3 1 1 1 1 3 1 1 1 1 1 1 1 1 3 1 3 1 3 3 3 1 3
9747 9767 9776 9786 9830 9839 9861 9867 9894 9915 9933 9945 9951 9956 9970 9981 9982 9993 9994 10013 10014 10026 10039 10045
2 1 1 1 1 3 1 1 1 1 3 1 3 1 3 1 1 2 3 1 1 1 1 3
10126 10150 10179 10273 10279 10293 10318 10325 10351 10363 10365 10371 10383 10401 10404 10405 10409 10477 10482 10511 10525 10533 10541 10554
3 1 1 1 3 1 1 3 1 2 1 3 1 1 1 1 1 3 3 3 3 1 1 1
10597 10603 10609 10622 10629 10641 10665 10682 10684 10718 10728 10736 10744 10751 10761 10763 10764 10766 10822 10828 10858 10876 10895 10907
1 1 3 1 1 1 3 1 1 1 1 1 1 2 1 1 3 3 1 1 3 3 1 1
11005 11037 11058 11062 11074 11078 11083 11084 11090 11102 11105 11118 11121 11136 11141 11143 11181 11191 11194 11201 11204 11210 11220 11236
3 1 1 1 1 3 1 1 1 2 1 1 1 1 3 3 1 1 1 1 1 1 1 1
11240 11241 11251 11252 11254 11265 11268 11301 11305 11309 11312 11317 11320 11336 11348 11351 11372 11373 11400 11403 11414 11422 11423 11433
1 3 1 1 1 1 1 1 1 1 1 3 1 1 3 3 1 1 3 1 3 3 1 3
11442 11444 11445 11468 11470 11492 11495 11496 11506 11510 11513 11536 11541 11542 11544 11551 11600 11622 11640 11654 11663 11669 11692 11701
3 3 1 1 1 1 1 3 3 3 2 1 1 1 1 3 1 1 1 1 1 1 1 1
11720 11728 11759 11764 11774 11811 11815 11823 11824 11827 11841 11844 11847 11854 11856 11859 11882 11888 11892 11893 11894 11911 11926 11929
1 1 3 3 1 3 1 1 1 1 3 1 3 1 1 3 1 1 2 3 3 3 1 1
11939 11946 11952 11967 11982 11997 12005 12009 12016 12024 12038 12044 12045 12046 12057 12060 12062 12090 12119 12120 12125 12130 12137 12140
1 1 1 3 1 1 1 3 1 1 1 1 1 1 3 3 3 3 1 1 1 1 2 1
12146 12186 12195 12196 12201 12223 12225 12231 12232 12242 12251 12258 12272 12291 12293 12314 12315 12319 12352 12353 12358 12365 12376 12414
3 1 1 1 3 3 1 3 1 3 1 3 1 3 1 1 1 3 1 1 3 3 1 1
12421 12447 12451 12455 12463 12465 12474 12485 12491 12501 12507 12515 12536 12546 12547 12557 12563 12569 12578 12582 12596 12619 12620 12629
1 1 1 3 2 1 1 3 1 3 1 2 1 1 1 1 1 1 1 1 1 1 1 3
12632 12633 12642 12647 12653 12655 12662 12665 12679 12680 12699 12710 12727 12728 12733 12739 12744 12749 12754 12756 12757 12761 12770 12773
1 1 1 1 1 1 1 1 3 1 3 1 1 1 1 1 2 1 1 3 1 1 3 1
12780 12786 12789 12790 12800 12802 12807 12809 12810 12817 12825 12827 12834 12844 12857 12859 12876 12883 12897 12899 12900 12914 12918 12929
1 1 1 1 1 1 3 1 1 2 3 1 1 1 3 3 1 1 1 1 3 1 3 3
12937 12940 12942 12947 12952 12954 12956 12958 12960 12979 12984 13007 13015 13017 13019 13025 13029 13032 13041 13045 13046 13057 13069 13077
1 1 1 1 1 1 1 1 3 3 1 1 3 1 1 1 3 3 1 3 1 1 1 3
13080 13081 13088 13106 13107 13117 13122 13129 13131 13132 13138 13140 13197 13204 13220 13221 13240 13244 13265 13271 13276 13277 13286 13296
1 1 1 1 1 2 3 2 1 1 3 1 1 1 1 3 1 1 1 3 1 3 1 1
13298 13299 13302 13313 13314 13323 13329 13340 13342 13356 13360 13365 13368 13370 13373 13380 13387 13402 13405 13411 13414 13421 13434 13438
1 1 3 1 3 1 1 3 2 2 1 1 1 1 3 1 3 3 1 1 1 1 1 1
13439 13450 13455 13460 13462 13474 13476 13486 13488 13546 13549 13566 13570 13574 13588 13627 13634 13648 13650 13667 13669 13677 13681 13688
1 1 1 3 3 3 3 1 1 3 1 3 1 3 1 1 1 1 1 1 2 3 1 1
13698 13699 13714 13724 13725 13727 13728 13739 13741 13765 13767 13779 13780 13787 13790 13799 13801 13816 13819 13821 13830 13840 13843 13846
1 1 1 1 3 3 1 1 1 3 1 1 1 1 1 1 1 1 1 3 3 3 1 1
13848 13849 13855 13860 13885 13926 13928 13973 13982 13985 13986 13996 14008 14009 14014 14017 14020 14031 14036 14041 14047 14062 14063 14067
3 3 1 3 3 1 3 3 1 3 1 3 1 3 1 1 1 3 1 3 3 1 3 3
14071 14074 14075 14081 14082 14084 14086 14096 14097 14101 14107 14127 14135 14138 14146 14152 14162 14163 14172 14176 14182 14187 14193 14195
3 1 1 1 3 1 2 1 3 3 1 1 1 1 1 1 1 1 1 1 3 3 1 1
14216 14236 14237 14239 14243 14250 14252 14254 14257 14258 14272 14305 14306 14315 14320 14332 14343 14345 14360 14384 14385 14395 14400 14402
1 1 1 1 1 3 3 3 1 1 3 1 1 1 3 1 1 3 1 1 3 1 3 3
14410 14412 14415 14436 14445 14446 14448 14450 14462 14488 14489 14490 14491 14492 14508 14510 14513 14517 14524 14526 14534 14541 14544 14556
1 1 1 1 1 3 1 3 3 3 3 3 1 1 3 3 3 1 1 1 1 2 1 1
14559 14561 14577 14587 14588 14597 14612 14616 14618 14622 14635 14647 14650 14654 14659 14680 14682 14683 14691 14709 14713 14722 14728 14730
1 3 1 1 1 3 1 1 3 1 3 3 1 1 1 2 1 1 1 1 1 1 1 1
14748 14750 14758 14761 14767 14768 14774 14775 14782 14785 14799 14807 14808 14815 14818 14834 14836 14856 14862 14871 14874 14877 14878 14883
1 1 1 1 3 1 1 3 1 1 1 3 1 3 3 1 1 3 1 1 1 3 1 2
14896 14900 14913 14929 14931 14934 14941 14954 14963 14968 14973 14980 14981 14989 14991 14999 15011 15013 15015 15024 15040 15042 15050 15057
1 3 3 1 1 1 1 1 1 3 3 2 1 1 3 1 3 1 3 1 1 3 1 1
15058 15064 15081 15126 15127 15130 15134 15136 15138 15146 15147 15154 15166 15184 15207 15208 15215 15225 15226 15227 15240 15245 15274 15278
1 2 1 1 1 1 3 3 1 1 3 1 3 1 1 3 2 1 1 1 1 1 1 1
15298 15314 15334 15343 15344 15346 15354 15355 15356 15366 15376 15377 15387 15390 15391 15404 15407 15408 15418 15421 15424 15429 15435 15458
1 3 1 3 1 1 1 1 1 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1
15462 15463 15469 15475 15484 15491 15492 15493 15497 15498 15510 15513 15514 15517 15536 15537
1 3 1 1 1 2 1 3 1 1 3 1 1 1 1 1
[ reached getOption("max.print") -- omitted 2250 entries ]
Within cluster sum of squares by cluster:
[1] 73539802 76644528 59509534
(between_SS / total_SS = 76.6 %)
Available components:
[1] "cluster" "centers" "totss" "withinss" "tot.withinss" "betweenss" "size" "iter" "ifault"
groupes=as.factor(groupes.kmeans$cluster)
TBC_groupe=cbind(TBC,groupes)
names(TBC_groupe)=c("ANCIENNETE", "MONTANT_CUMULE", "NB_VISITE", "NB_PRDT_MOY_VISITE", "RECENCE", "NB_MAG_DIFF", "NB_LIGNE_DIFF", "NB_FAMILLE_DIFF", "NB_CADEAUX", "groupes")
Graphique ‘3D MONTANT_CUMULE_16 NB_VISITE_16 NB_CADEAUX_16’:
#install.packages("plotly")
library(plotly)
levels(TBC_groupe$groupes)=c('Bronze', 'Silver', 'Gold')
classification <- plot_ly(data=TBC_groupe,x=~RECENCE,
y=~NB_VISITE,z=~MONTANT_CUMULE,
color=~groupes, colors=c("darkgoldenrod", "darkgrey", "Gold2"))
classification
classification2 <- plot_ly(data=TBC_groupe,x=~NB_CADEAUX,
y=~NB_LIGNE_DIFF,z=~NB_FAMILLE_DIFF,
color=~groupes, colors=c("darkgoldenrod", "darkgrey", "Gold2"))
classification2
summary(TBC_groupe)
ANCIENNETE MONTANT_CUMULE NB_VISITE NB_PRDT_MOY_VISITE RECENCE NB_MAG_DIFF NB_LIGNE_DIFF NB_FAMILLE_DIFF
Min. : 24.00 Min. : 165.0 Min. : 2.000 Min. : 1.000 Min. : 0.00 Min. : 1.000 Min. :1.000 Min. : 1.000
1st Qu.: 34.00 1st Qu.: 390.0 1st Qu.: 5.000 1st Qu.: 2.600 1st Qu.: 37.00 1st Qu.: 1.000 1st Qu.:2.000 1st Qu.: 6.000
Median : 49.00 Median : 560.5 Median : 6.000 Median : 3.286 Median : 65.00 Median : 2.000 Median :2.000 Median : 7.000
Mean : 55.25 Mean : 712.9 Mean : 7.966 Mean : 3.593 Mean : 89.43 Mean : 1.944 Mean :2.359 Mean : 7.441
3rd Qu.: 67.00 3rd Qu.: 849.0 3rd Qu.:10.000 3rd Qu.: 4.250 3rd Qu.:130.75 3rd Qu.: 2.000 3rd Qu.:3.000 3rd Qu.: 9.000
Max. :113.00 Max. :5183.0 Max. :54.000 Max. :16.000 Max. :276.00 Max. :10.000 Max. :3.000 Max. :15.000
NB_CADEAUX groupes
Min. : 0.000 Bronze:2345
1st Qu.: 2.000 Silver: 117
Median : 4.000 Gold : 788
Mean : 5.659
3rd Qu.: 8.000
Max. :41.000